Tracealyzer® SDK
Percepio® Tracealyzer provides trace observability for verification, profiling and debugging of embedded/IoT/Edge software written in C or C++. Tracealyzer can be used to analyze local devices over a direct connection, such as a debug probe, but can also be used remotely within Percepio Detect and Percepio’s DevAlert® for systematic observability on anomalies, both in the test lab and in deployed devices.
Tracealyzer is available for several popular real-time operating systems, such as FreeRTOS, Zephyr, and Azure RTOS ThreadX, where Percepio provides and maintains the RTOS integration code. On supported RTOSes you don’t need to develop any kernel instrumentation, as this is already provided by Percepio and included with Tracealyzer. But if you want to use Tracealyzer with an RTOS that isn’t already supported, or extend the instrumentation for additional APIs, we offer Tracealyzer SDK.
The Tracealyzer SDK has been nominated as a finalist for the Elektra Awards 2024.
Tracealyzer SDK enables customers and partners to create custom Tracealyzer extensions for any C/C++ software and take full advantage of the powerful capabilities in Percepio Tracealyzer, regardless of what RTOS that is used. Moreover, the SDK allows for extending the Tracealyzer observability beyond RTOS events, for example by adding instrumentation in communication stacks, peripheral drivers and other important C/C++ APIs in your application.
The Tracealyzer SDK is suitable both for application developers and for platform developers, such as silicon vendors, RTOS developers and middleware developers. All can benefit greatly from the Tracealyzer SDK in terms of more design wins from better tool support. For silicon vendors, the Tracealyzer SDK can enable detailed observability not only on RTOS and application level, but also for board support packages (BSPs), peripheral drivers and hardware abstraction layers, improving productivity for both customers and field application engineers. This accelerates customer development and thus shortens the time to production orders.
Tracealyzer SDK is based on Percepio’s open-source tracing library Percepio TraceRecorder, specifically the “bare metal” integration option. This provides a generic base that can be used with any RTOS, although without out-of-the-box RTOS awareness. The Tracealyzer SDK provides documentation and code examples for integrating TraceRecorder in a software platform (like an RTOS) and in specific APIs in the RTOS, middleware and other application modules.
Note that Tracealyzer SDK is not intended for system-wide tracing on Linux-based systems. This use-case is supported by Tracealyzer for Linux using the LTTng library as trace recorder. Percepio TraceRecorder is intended for real-time operating systems and similar platforms, and may also be used for application-level tracing within a single process on general-purpose operating systems such as Linux or Windows.
Tracealyzer SDK Resources
Documentation: TraceRecorder_Integration_Guide.pdf
Demo projects: Github repository
Licensing and Technical Support
Tracealyzer users with an active subscription or evaluation license are free to use the Tracealyzer SDK for their own internal needs. We are happy to answer questions and grateful for any feedback. Please contact us at support@percepio.com.
However, the standard technical support included with Tracealyzer subscriptions or other Tracealyzer licenses does not cover integrations using the Tracealyzer SDK.
If you need significant technical support to apply the Tracealyzer SDK or would like joint customers to receive technical support from Percepio for your Tracealyzer SDK integration, we offer commercial support for this purpose. Please contact sales@percepio.com for more information.